package org.wdcode.back.po;

import java.io.Serializable;

import org.wdcode.back.helper.OperateHelper;
import org.wdcode.back.helper.RoleHelper;
import org.wdcode.common.tools.Conversion;
import org.wdcode.common.util.CommonUtil;

/**
 * 角色操作关联实体
 * @author WD
 * @since JDK6
 * @version 1.0 2009-11-23
 */
public final class RoleOperate extends BaseBackStateEntityBean implements Serializable {
	// 序列化ID
	private static final long	serialVersionUID	= 3327593042720629604L;

	// 操作ID
	private Integer				operateId;
	// 角色ID
	private Integer				roleId;

	// 操作实体
	private Operate				operate;
	// 角色实体
	private Role				role;

	/**
	 * 获得操作实体
	 * @return 操作实体
	 */
	public Operate getOperate() {
		return CommonUtil.isEmpty(operate) ? setOperate(operateId) : operate;
	}

	/**
	 * 设置操作实体
	 * @param operateId 操作ID
	 * @return 操作实体
	 */
	public Operate setOperate(Integer operateId) {
		return operate = OperateHelper.getHelper().get(Conversion.toInt(operateId));
	}

	/**
	 * 获得角色实体
	 * @return 角色实体
	 */
	public Role getRole() {
		return CommonUtil.isEmpty(role) ? setRole(roleId) : role;
	}

	/**
	 * 设置角色实体
	 * @param companyId 角色ID
	 * @return 角色实体
	 */
	public Role setRole(Integer roleId) {
		return role = RoleHelper.getHelper().get(Conversion.toInt(roleId));
	}

	/**
	 * 获得操作ID
	 * @return 操作ID
	 */
	public Integer getOperateId() {
		return this.operateId;
	}

	/**
	 * 设置操作ID
	 * @param operateId 操作ID
	 */
	public void setOperateId(Integer operateId) {
		this.operateId = operateId;
	}

	/**
	 * 获得角色ID
	 * @return 角色ID
	 */
	public Integer getRoleId() {
		return this.roleId;
	}

	/**
	 * 设置角色ID
	 * @param roleId 角色ID
	 */
	public void setRoleId(Integer roleId) {
		this.roleId = roleId;
	}
}